package com.team.mpc.service.impl;


import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.team.mpc.entity.OauthCode;
import com.team.mpc.mapper.OauthCodeMapper;
import com.team.mpc.service.OauthCodeService;
import io.seata.spring.annotation.GlobalTransactional;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

@Service
@Slf4j
@GlobalTransactional//开启全局事务 没有则，有则根据xid查找，可配置传播级别
@Transactional//本地事务 在没有全局事务时依然生效,有全局事务注解时，走全局事务处理方式
public class LocalServiceImpl extends ServiceImpl<OauthCodeMapper, OauthCode> implements OauthCodeService {

    public void doSomeThing(){
        log.info("执行本地事务");
        //保存一个唯一键，一起在该事务执行，保证本地事务执行完毕与保存本地事务执行状态在一个事务
        log.info("记录本地事务执行完毕");
    }


    public void testUpdate(){
        log.info("测试update被调用");
        OauthCode oauthCode = new OauthCode();
        oauthCode.setCode("2");
        oauthCode.setAuthentication("mpc更改");
        insert(oauthCode);
    }
}
